Palette
=======

Palette is a fork of Canvas to act as a polyglot backend.

Canvas is a modern, open-source
[LMS](https://en.wikipedia.org/wiki/Learning_management_system) developed and
maintained by [Instructure Inc.](https://www.instructure.com/) It is released
under the AGPLv3 license for use by anyone interested in learning more about or
using learning management systems.

Palette is derived from Canvas, a JavaScript-heavy Ruby-on-Rails application.
The backend is removed (no more Ruby!), as well as the frontend JavaScript.
Remaining are JSX and ERB templates, which we semi-automatically convert to
mustache, and the SCSS stylesheets, which are statically compiled. Then, the
mustache templates are populated from a stub Python server with data from
polyglot, which does the heavylifting.

Development requirements
------------------------

You will need to install the Sass CSS preprocessor. As root:

    # Arch
    pacman -S ruby-sass

    # Debian
    apt install ruby-sass

You'll also need to install Python dependencies:

    pip install -r requirements.txt

And, of course, you'll need to follow Polyglot's installation instructions
as well.
